package fons.model.ontology.language;

public enum SyntacticalFunction {
	SUBJECT {
		@Override
		public boolean mandatory() {
			return true;
		}
	}, 
	
	DIRECT_OBJECT {
		@Override
		public boolean mandatory() {
			return true;
		}
	},
	
	INDIRECT_OBJECT {
		@Override
		public boolean mandatory() {
			return false;
		}
		
	},
	
	TEMPORAL_ADVERBIAL {
		@Override
		public boolean mandatory() {
			return false;
		}
	},
	
	LOCAL_ADVERBIAL {
		@Override
		public boolean mandatory() {
			return false;
		}
	},
	
	MODAL_ADVERBIAL {
		@Override
		public boolean mandatory() {
			return false;
		}
	},
	
	PREDICATE {
		@Override
		public boolean mandatory() {
			return true;
		}
	};
	
	public abstract boolean mandatory ();
}
